<%@ page import="coop.bancocredicoop.proyectos.gd.controller.buscarDocumento.Main" %>
<%@ page import="coop.bancocredicoop.proyectos.gd.domain.Document" %>
<%@ page import="coop.bancocredicoop.proyectos.gd.query.document.FindDocumentById" %>
<%@ page import="coop.bancocredicoop.proyectos.gd.query.document.FindVersions" %>
<%@ page import="coop.bancocredicoop.proyectos.gd.utils.DateUtils" %>
<%@ page import="coop.bancocredicoop.proyectos.gd.rbac.RBAC" %>
<%@ page import="coop.bancocredicoop.proyectos.gd.Usuario" %>
<%@ page import="coop.bancocredicoop.proyectos.gd.procedure.AnularDocumentoProcedure" %>
<%@ page import="java.util.List" %>
<%@ page import="java.text.SimpleDateFormat" %>

<%
	Long documentId = null;

	if (request.getParameter("anular") != null) {
		documentId = new AnularDocumentoProcedure().run(
				Long.valueOf(request.getParameter("id")),
				((Usuario)session.getAttribute("usuario")).getUserName());
	}

	if (documentId == null)
		documentId = Long.valueOf(request.getParameter("id"));

	Document document = new FindDocumentById().run(documentId);

	List<Document> listVersion = new FindVersions().run(
			document.getCustomer(),
			document.getDocumentType());
%>

<script>
	function loadAnotherVersion(documentId) {
		$('#detalleDocumentoModal').load("<%=request.getContextPath()%>/jsp/consultaDocumento/index.jsp",
				"id=" + documentId)

		return false
	}

	function anular(documentId) {
		if (confirm("Seguro que desea borrar esta version del documento?")) {
			$('#detalleDocumentoModal').load("<%=request.getContextPath()%>/jsp/consultaDocumento/index.jsp",
					"anular=anular&id=" + documentId)
		}

		return false
	}
</script>

<div class="modal-dialog">
	<div class="modal-content">

		<div class="modal-header">
			<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
		</div>

		<div class="modal-body">
			<g:form role="form" method="POST">
				<% if (document.getDeleteDate() != null) { %>
					<div class="alert alert-success">
						El documento ha sido eliminado.
					</div>
				<% } else { %>

				<% if (!document.getLastVersion()) { %>
					<div class="alert alert-warning">
						La versi&oacute;n de este documento que usted est&aacute; viendo ha sido reemplazada por otras posteriores.
					</div>
				<% } %>

				<div class="form-group">
					<label for="customer">Asociado</label>
					<div style="height:auto" class="form-control"><%=document.getCustomer().getIdPersona() %> (<%=document.getCustomer().getName() %>, CUIT: <%=document.getCustomer().getCuit() %>)</div>
				</div>

				<div class="form-group">
					<label for="documentType">Tipo de Documento</label>
					<div style="height:auto" class="form-control"><%=document.getDocumentType().getName() %></div>
				</div>

				<div class="form-group">
					<label for="purgeable">
						<% if (document.getDocumentType().getPurgeable()) { %>
							<input type="checkbox" id="purgeable" checked="checked" onclick="return false" /> Expurgable
						<% } else { %>
							<input type="checkbox" id="purgeable" onclick="return false" /> Expurgable
						<% } %>
					</label>
				</div>

				<% if (document.getDocumentType().getVersionable()) { %>
					<div class="form-group">
						<label for="version">Versi&oacute;n</label>
						<div class="form-control"><%=document.getRealVersion() %></div>
					</div>
				<% } %>

				<div class="form-group">
					<label for="box">Caja</label>
					<div class="form-control"><%=document.getBox().getCajaId() %></div>
				</div>

				<div class="form-group">
					<label for="validTo">Fecha de vencimiento</label>
					<div class="form-control"><%=new SimpleDateFormat("dd-MM-yyyy").format(document.getValidTo()) %></div>
				</div>

				<% if (document.getNotes() != null && document.getNotes().trim().length() > 0) { %>
					<div class="form-group">
						<label for="notes">Notas</label>
						<div style="height:auto" class="form-control"><%=document.getNotes() %></div>
					</div>
				<% } %>

			<% if (document.getDocumentType().getVersionable()) { %>
				<table class="table table-striped">
					<thead>
						<tr>
							<th>Versi&oacute;n</th>
							<th>Fecha</th>
							<th>Usuario</th>
							<th></th>
						</tr>
					</thead>
					<tbody>
						<% for (Document version : listVersion) { %>
							<tr>
								<td>
									<% if (version.getLastVersion()) { %>
										<%=version.getRealVersion() %> (&Uacute;ltima)
									<% } else { %>
										<%=version.getRealVersion() %>
									<% } %>
								</td>
								<td>
									<%=new SimpleDateFormat("dd/MM/yyyy").format(version.getCreatedDate()) %>
								</td>
								<td>
									<%=version.getCreatedByUserName() %>
								</td>
								<td>
									<button type="button" class="btn btn-default" onclick="previewDocument('<%=version.getId() %>')"><span class="glyphicon glyphicon-eye-open"></span></button>
									<a href="#" onclick="return loadAnotherVersion('<%=version.getId() %>')" class="btn btn-default"><span class="glyphicon glyphicon-info-sign"></span></a>
								</td>
							</tr>
						<% } %>
					</tbody>
				</table>
			<% } %>
			<% } %>

			</g:form>			
		</div>

		<div class="modal-footer">
			<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
			<% if (document.getDeleteDate() == null && document.getLastVersion()) { %>

				<% if (DateUtils.isToday(document.getCreatedDate()) &&
						document.getCreatedByUserName() == ((Usuario)session.getAttribute("usuario")).getUserName() ||
						((RBAC)session.getAttribute("rbac")).tienePermiso("GD2_MODIFICACION")) { %>
					<a href="<%=request.getContextPath()%>/documento/corregir?documentId=<%=document.getId() %>" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span> Corregir</a>
				<% } %>
			
				<% if (((RBAC)session.getAttribute("rbac")).tienePermiso("GD2_ELIMINACION")) { %>
					<a href="#" onclick="return anular('<%=document.getId()%>')" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span> Borrar</a>
				<% } %>
			<% } %>
		</div>

	</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->

<script>
	$("#detalleDocumentoModal").scrollTop(0)
</script>
